package Report;

import java.awt.*;
import javax.swing.*;

/**
 *
 * @author Philipp Armbruster
 *
 * Diese Klasse erzeugt das Fenster in dem die Reports angezeigt werden
 */
public class ReportGUI {

    // Variable vom Typ JFrame
    private JFrame frame;
    // Variable vom Typ JLabel
    private JLabel label;
    // Variable vom Typ JPanel
    private JPanel panel;
    // Variable vom Typ JScrollPane
    private JScrollPane scrollPane;
    // String-Variable die später den Inhalt des Reports übergeben bekommt
    String report;
    //Größe des Frames
    int sizeX;
    int sizeY;



    // Konstruktor
    public ReportGUI() {

    }

    // Text für Label übergeben
    public void setLabelText(String text) {
        this.report = text;
    }

    // GUI erzeugen
    public void createFrame(ReportGUI t, int sizeX, int sizeY) {
        /**
         * Neues JLabel-Objekt erzeugen, ausrichten und Inhalt des Reports übergeben
         */
        label = new JLabel(report);
        label.setHorizontalAlignment(JLabel.CENTER);
        label.setVerticalAlignment(JLabel.TOP);

        /**
         * Neues JPanel-Objekt erzeugen, Hintergrund festlegen und label hinzufügen
         */
        panel = new JPanel();
        panel.setBackground(Color.white);
        panel.add(label);

        /**
         * Neues JScrollPane-Objekt erzeugen, Größe und Sichtbereich festlegen sowie die Scrollbareigenschaften
         */
        scrollPane = new JScrollPane();
        scrollPane.setBounds(new java.awt.Rectangle(sizeX, sizeY));
        scrollPane.setViewportView(panel);
        scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
        scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

        /**
         * Neues JFrame-Objekt erzeugen, Größe festlegen und fixieren, Skrollbalken hinzufügen und Fenster sichtbar machen
         */
        frame = new JFrame("Report");
        frame.setSize(sizeX, sizeY);
        frame.setResizable(false);
        frame.setLocation(100,100);
        frame.getContentPane().add(scrollPane);
        // frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }

}